package com.siyuanren.gcocp.common.dao;

import java.util.List;
import java.util.Map;


public interface BaseDAO<T> {
    /**
     * @param entity
     * @return
     */
    int insert(T entity);

    /**
     * @param entity
     * @return
     */
    int update(T entity);

    /**
     * @param entity
     * @return
     */
    int updateByExample(T entity);

    /**
     * @param id
     * @return
     */
    T getById(int id);

    /**
     * @param id
     * @return
     */
    int deleteById(int id);

    /**
     * @return
     */
    List<T> listBy();

    /**
     * @param paramMap
     * @return
     */
    List<T> listBy(Map<String, Object> paramMap);

//    <E> List<E> listBy(Map<String, Object> paramMap, String sqlId);

//    T getBy(Map<String, Object> paramMap);

//    <E> E getBy(Map<String, Object> paramMap, String sqlId);
}
